<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
LanguageData (JGenere - Initial Port v0.3 r2010.1105)
</TITLE>


<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="LanguageData (JGenere - Initial Port v0.3 r2010.1105)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM></TD></TR><TR><TD COLSPAN=3><hr />Note: While the cryptography implementations in jgenere.initial_port work correctly according to the provided test cases, they were not optimized or otherwise designed to make use of Java language and platform features.  They are simple ports of the original Python implementation of PyGenere, provided for academic purposes.  Visit the project web site at <a target=_blank href=http://code.google.com/p/jgenere/>http://code.google.com/p/jgenere/</a> for preferred Java-based implementations of these cryptography algorithms.<hr /></TD></TR></EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?ttpasi/jgenere/initial_port/languagedata/LanguageData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="LanguageData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
ttpasi.jgenere.initial_port.languagedata</FONT>
<BR>
Class LanguageData</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>ttpasi.jgenere.initial_port.languagedata.LanguageData</B>
</PRE>
<HR>
<DL>
<DT><PRE>public abstract class <A HREF="../../../../src-html/ttpasi/jgenere/initial_port/languagedata/LanguageData.html#line.113"><B>LanguageData</B></A><DT>extends java.lang.Object</DL>
</PRE>

<P>
Java port of language data from PyGenere v 0.3.  See pygenere.py to learn 
 more about the original PyGenere implementation, including author contact 
 information and licensing and use terms.
 <p/>
 Base class for data objects with language alphabet character use statistics. 
 Used by <A HREF="../../../../ttpasi/jgenere/initial_port/VigCrack.html" title="class in ttpasi.jgenere.initial_port"><CODE>VigCrack</CODE></A>.
 <p/>
 Note: This implementation only supports characters in the English alphabet, 
 though multiple languages are supported.
 <p/>
 Note: While the cryptography implementations in jgenere.initial_port work 
 correctly according to the provided test cases, they were not optimized or 
 otherwise designed to make use of Java language and platform features.  They 
 are simple ports of the original Python implementation of PyGenere, provided 
 for academic purposes.  Visit the project web site at 
 <a target="_blank" href="http://code.google.com/p/jgenere/">http://code.google.com/p/jgenere/</a> 
 for preferred Java-based implementations of these cryptography algorithms.
 <p/>
 The original PyGenere v 0.3 language data code:
 <pre>
   """
   Character frequencies taken from:
   http://www.csm.astate.edu/~rossa/datasec/frequency.html (English)
   http://www.characterfrequency.com/ (French, Italian, Portuguese, Spanish)
   http://www.santacruzpl.org/readyref/files/g-l/ltfrqger.shtml (German)
   """
 
   # The following are language-specific data on character frequencies.
   # Kappa is the "index of coincidence" described in the cryptography paper
   # (link above).
   
   __english_data = {
                     'A':8.167, 'B':1.492, 'C':2.782, 'D':4.253, 'E':12.702,
                     'F':2.228, 'G':2.015, 'H':6.094, 'I':6.996, 'J':0.153,
                     'K':0.772, 'L':4.025, 'M':2.406, 'N':6.749, 'O':7.507,
                     'P':1.929, 'Q':0.095, 'R':5.987, 'S':6.327, 'T':9.056,
                     'U':2.758, 'V':0.978, 'W':2.360, 'X':0.150, 'Y':1.974,
                     'Z':0.074, 'max_val':12.702, 'kappa':0.0667
                    }

   __french_data = {
                    'A':8.11, 'B':0.903, 'C':3.49, 'D':4.27, 'E':17.22,
                    'F':1.14, 'G':1.09, 'H':0.769, 'I':7.44, 'J':0.339,
                    'K':0.097, 'L':5.53, 'M':2.89, 'N':7.46, 'O':5.38,
                    'P':3.02, 'Q':0.999, 'R':7.05, 'S':8.04, 'T':6.99,
                    'U':5.65, 'V':1.30, 'W':0.039, 'X':0.435, 'Y':0.271,
                    'Z':0.098, 'max_val':17.22, 'kappa':0.0746
                   }
 
   __german_data = {
                    'A':6.506, 'B':2.566, 'C':2.837, 'D':5.414, 'E':16.693,
                    'F':2.044, 'G':3.647, 'H':4.064, 'I':7.812, 'J':0.191,
                    'K':1.879, 'L':2.825, 'M':3.005, 'N':9.905, 'O':2.285,
                    'P':0.944, 'Q':0.055, 'R':6.539, 'S':6.765, 'T':6.742,
                    'U':3.703, 'V':1.069, 'W':1.396, 'X':0.022, 'Y':0.032,
                    'Z':1.002, 'max_val':16.693, 'kappa':0.0767
                   }
 
   __italian_data = {
                     'A':11.30, 'B':0.975, 'C':4.35, 'D':3.80, 'E':11.24,
                     'F':1.09, 'G':1.73, 'H':1.02, 'I':11.57, 'J':0.035,
                     'K':0.078, 'L':6.40, 'M':2.66, 'N':7.29, 'O':9.11,
                     'P':2.89, 'Q':0.391, 'R':6.68, 'S':5.11, 'T':6.76,
                     'U':3.18, 'V':1.52, 'W':0.00, 'X':0.024, 'Y':0.048,
                     'Z':0.958, 'max_val':11.57, 'kappa':0.0733
                    }
 
   __portuguese_data = {
                        'A':13.89, 'B':0.980, 'C':4.18, 'D':5.24, 'E':12.72,
                        'F':1.01, 'G':1.17, 'H':0.905, 'I':6.70, 'J':0.317,
                        'K':0.0174, 'L':2.76, 'M':4.54, 'N':5.37, 'O':10.90,
                        'P':2.74, 'Q':1.06, 'R':6.67, 'S':7.90, 'T':4.63,
                        'U':4.05, 'V':1.55, 'W':0.0104, 'X':0.272, 'Y':0.0165,
                        'Z':0.400, 'max_val':13.89, 'kappa':0.0745
                       }
 
   __spanish_data = {
                     'A':12.09, 'B':1.21, 'C':4.20, 'D':4.65, 'E':13.89,
                     'F':0.642, 'G':1.11, 'H':1.13, 'I':6.38, 'J':0.461,
                     'K':0.038, 'L':5.19, 'M':2.86, 'N':7.23, 'O':9.58,
                     'P':2.74, 'Q':1.37, 'R':6.14, 'S':7.43, 'T':4.49,
                     'U':4.53, 'V':1.05, 'W':0.011, 'X':0.124, 'Y':1.14,
                     'Z':0.324, 'max_val':13.89, 'kappa':0.0766
                    }
 </pre>
<P>

<P>
<DL>
<DT><B>Version:</B></DT>
  <DD>2010.1105</DD>
<DT><B>Author:</B></DT>
  <DD>Bruce [com.gmail @ ProgrammerBruce]</DD>
</DL>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Map&lt;java.lang.Character,java.lang.Double&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../ttpasi/jgenere/initial_port/languagedata/LanguageData.html#_frequencies">_frequencies</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../ttpasi/jgenere/initial_port/languagedata/LanguageData.html#_kappa">_kappa</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../ttpasi/jgenere/initial_port/languagedata/LanguageData.html#_max_value">_max_value</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../ttpasi/jgenere/initial_port/languagedata/LanguageData.html" title="class in ttpasi.jgenere.initial_port.languagedata">LanguageData</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../ttpasi/jgenere/initial_port/languagedata/LanguageData.html#getData(java.lang.String)">getData</A></B>(java.lang.String&nbsp;language)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a LanguageData object with language specific alphabet character use 
 statistics, used by VigCrack.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="_frequencies"><!-- --></A><H3>
_frequencies</H3>
<PRE>
public final java.util.Map&lt;java.lang.Character,java.lang.Double&gt; <A HREF="../../../../src-html/ttpasi/jgenere/initial_port/languagedata/LanguageData.html#line.115"><B>_frequencies</B></A></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="_max_value"><!-- --></A><H3>
_max_value</H3>
<PRE>
public final double <A HREF="../../../../src-html/ttpasi/jgenere/initial_port/languagedata/LanguageData.html#line.116"><B>_max_value</B></A></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="_kappa"><!-- --></A><H3>
_kappa</H3>
<PRE>
public final double <A HREF="../../../../src-html/ttpasi/jgenere/initial_port/languagedata/LanguageData.html#line.117"><B>_kappa</B></A></PRE>
<DL>
<DL>
</DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="getData(java.lang.String)"><!-- --></A><H3>
getData</H3>
<PRE>
public static <A HREF="../../../../ttpasi/jgenere/initial_port/languagedata/LanguageData.html" title="class in ttpasi.jgenere.initial_port.languagedata">LanguageData</A> <A HREF="../../../../src-html/ttpasi/jgenere/initial_port/languagedata/LanguageData.html#line.143"><B>getData</B></A>(java.lang.String&nbsp;language)</PRE>
<DL>
<DD>Returns a LanguageData object with language specific alphabet character use 
 statistics, used by VigCrack.
 <p/>
 <code>language</code> is a two character String that indicates which 
 language to use. Possible values for <code>language</code> include:
 <ul>
 <li>EN - for English</li>
 <li>DE - for German</li>
 <li>ES - for Spanish</li>
 <li>FR - for French</li>
 <li>IT - for Italian</li>
 <li>PT - for Portuguese</li>
 </ul>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>language</CODE> - The language for which data is wanted.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM></TD></TR><TR><TD COLSPAN=3><hr />Note: While the cryptography implementations in jgenere.initial_port work correctly according to the provided test cases, they were not optimized or otherwise designed to make use of Java language and platform features.  They are simple ports of the original Python implementation of PyGenere, provided for academic purposes.  Visit the project web site at <a target=_blank href=http://code.google.com/p/jgenere/>http://code.google.com/p/jgenere/</a> for preferred Java-based implementations of these cryptography algorithms.<hr /></TD></TR></EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?ttpasi/jgenere/initial_port/languagedata/LanguageData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="LanguageData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>
